/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 29489
 * Date: 2023-03-05
 * Time: 10:27
 */
import java.util.Scanner;
public class Main {
//    public static void main(String args[]){
//        Scanner sc = new Scanner(System.in);
//        //第一行
//        int Size[] = null;
//        Size = new int[2];
//
//        for(int i = 0; i < 2; i++)
//        {
//            if(!sc.hasNextInt())
//            {
//                System.out.println("data type error");
//                System.exit(0);
//            }
//            int tmp = sc.nextInt();
////            if(CheckInt(tmp) == false)
////            {
////                System.out.println("data type error");
////                System.exit(0);
////            }
//            Size[i] = tmp;
//        }
//        //第二行
//        if(!sc.hasNextInt())
//        {
//            System.out.println("data type error");
//            System.exit(0);
//        }
//        int angel = sc.nextInt();
//        if(angel != 90 && angel != 180 && angel != -90)
//        {
//            System.out.println("angle data error");
//            System.exit(0);
//        }
//        //第三行以后
//        int Array[][] = new int[Size[0]][Size[1]];
//        for(int i = 0; i < Size[0]; i++)
//        {
//            for(int j = 0; j < Size[1]; j++)
//            {
//                if(!sc.hasNextInt())
//                {
//                    System.out.println("data type error");
//                    System.exit(0);
//                }
//                int tmp = sc.nextInt();
//                if(tmp > 255 || tmp < 0)
//                {
//                    System.out.printf("matrix data error\n");
//                    System.exit(0);
//                }
//                Array[i][j] = tmp;
//            }
//        }
//        //旋转
//        switch(angel)
//        {
//            case 90:
//                Print1(Array);
//                break;
//            case 180:
//                Print2(Array);
//                break;
//            case -90:
//                Print3(Array);
//                break;
//            default:break;
//        }
//        //
//        sc.close();
//    }
//    public static boolean CheckInt(int n)
//    {
//        return n <= Integer.MAX_VALUE && n >= Integer.MIN_VALUE;
//    }
//    //向左旋转90度
//    public static void Print1(int arr[][]){
//        int m = arr.length;//行
//        int n = arr[0].length;//列
//        for(int i = n-1; i >= 0; i--)
//        {
//            int j = 0;
//            for(; j < m-1; j++)
//            {
//                System.out.print(arr[j][i]+" ");
//            }
//            System.out.println(arr[j][i]);
//        }
//    }
//    //旋转180度
//    public static void Print2(int arr[][]){
//        int m = arr.length;//行
//        int n = arr[0].length;//列
//        for(int i = m-1; i >=0; i--)
//        {
//            int j = 0;
//            for(j = n-1; j > 0; j--)
//            {
//                System.out.print(arr[i][j]+" ");
//            }
//            System.out.println(arr[i][j]);
//        }
//    }
//    //向右旋转90度
//    public static void Print3(int arr[][]){
//        int m = arr.length;//行
//        int n = arr[0].length;//列
//        for(int i = 0; i < n; i++)
//        {
//            int j = 0;
//            for(j = m-1; j > 0; j--)
//            {
//                System.out.print(arr[j][i]+" ");
//            }
//            System.out.println(arr[j][i]);
//        }
//    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int inArr[] = null;
        inArr = new int[4];
        for(int i = 0; i < 4; i++)
        {
            inArr[i] = sc.nextInt();
        }
        int _year = inArr[0];
        int _month = inArr[1];
        int _day = inArr[2];
        int day = inArr[3];
        if(_year > 2020 || _year < 1820 || _month < 1 || _month > 12 || _day > GetMonthDay(_year, _month) || _day < 1 || day < -10 || day > 10)
        {
            System.out.println("Wrong Format");
            System.exit((0));
        }
        _day -= day;
        while(_day <= 0)
        {
            _month--;
            if(_month <= 0)
            {
                _year--;
                _month = 12;
            }
            _day += GetMonthDay(_year, _month);
        }
        while(_day > GetMonthDay(_year, _month))
        {
            _day -= GetMonthDay(_year, _month);
            _month++;
            if(_month > 12)
            {
                _year++;
                _month = 1;
            }
        }
        System.out.print(day+" days ago is:"+_year+"-"+_month+"-"+_day);
    }
    public static int GetMonthDay(int year, int month){
        int arr[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        if(month == 2 && (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
        {
            return 29;
        }
        return arr[month];
    }
}
